import java.util.HashMap;
import java.util.Map;

class Solution {
    public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
        int n = 0;
        Map<Integer,Integer> map1 = new HashMap<>();//<和值，次数>
        for (int i = 0; i < nums1.length; i++) {
            for (int j = 0; j < nums2.length; j++) {
                int sum1 = nums1[i] + nums2[j];
                map1.put(sum1,map1.getOrDefault(sum1,0)+1);
            }
        }

        Map<Integer,Integer> map2 = new HashMap<>();//<和值，次数>
        for (int i = 0; i < nums3.length; i++) {
            for (int j = 0; j < nums4.length; j++) {
                int sum2 = nums3[i] + nums4[j];
                map2.put(sum2,map2.getOrDefault(sum2,0)+1);
            }
        }

        for (Integer integer1 : map1.keySet()) {
            for (Integer integer2 : map2.keySet()) {
                if (integer1 + integer2 == 0){
                    n += map1.get(integer1) * map2.get(integer2);
                }
            }
        }


        return n;
    }
}